void stop();
void spin();
int level=0;
void setup()
{
  // 三个灰度传感器 左中右
  pinMode(16, INPUT);
  pinMode(18, INPUT);
  pinMode(17, INPUT);
  // 两边车轮
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);

  // 初始化串行通信
  Serial.begin(9600);
}

void loop()
{
//   while(1){
//      
//    }
//  //转向
//  run();
//  //选择关卡
//  switch (level){
//    //开始
//    case 0:
//    //三个传感器全为黑
//       if(!(digitalRead(15)&&digitalRead(18)&&digitalRead(17)))
//        {
//          //左右轮启动 转速为150
//          spin(5,6,150);
//          spin(9,10,150);
//        }
//        //转向
//        run();
//        //关卡++
//        level++;
//      break;
//    //关卡一
//    case 1 :
//      level++;
//    break;
//    //默认
//    default : {
//      //左右轮停止转动
//      spin(5,6,0);
//      spin(9,10,0);
//    }
//  }
//if(!(digitalRead(15)&&digitalRead(18)&&digitalRead(17)))
// 启动车轮
    spin(5,6,150);
    spin(9,10,150);
// 读取灰度传感器值并发送到串行监视器
   // 读取并发送灰度传感器1的数值
  int sensorValue1 = analogRead(16);
  Serial.print("Sensor1: ");
  Serial.println(sensorValue1);

  // 读取并发送灰度传感器2的数值
  int sensorValue2 = analogRead(17);
  Serial.print("Sensor2: ");
  Serial.println(sensorValue2);

  // 读取并发送灰度传感器3的数值
  int sensorValue3 = analogRead(18);
  Serial.print("Sensor3: ");
  Serial.println(sensorValue3);

  // 延时一段时间
  delay(1000);
}

void run() {
    // 左灰度传感器检测到黑色
    if(!(digitalRead(14))){
        // 控制右轮转速增加，左转
        spin(9,10,255);
    }
    else if(!(digitalRead(18))){
        // 控制左轮转速增加，右转
        spin(5,6,255);
    }
    else{
        // 左右轮转速恢复正常
        spin(9,10,150);
        spin(5,6,150);
    }
}
//停止函数，xy两个引脚
void stop(int x,int y)
{
  digitalWrite( x , LOW );
  digitalWrite( y , LOW );
}
//调节转速函数，xy两个引脚，speed控制转速
void spin(int x,int y,int speed)
{
  analogWrite( x , speed );
  analogWrite( y , LOW );
}
